// components/Tabs/Tab1.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
  // 存放来自父组件的数据
  tabs: {
  //数据类型
  type: Array,
  //值
  value:""
  }
  },

  /**
   * 组件的初始数据
   */
  data: {
   
  },

  /**
   * 组件的方法列表
   * 组件的回调函数必须放在这之中
   */
  methods: {
  handleItemTap(e){
  // 1,绑定
  // 2，获取被点击的索引
  // 3，获取原数组，这里最好是拷贝，而不是直接修改
  // 4，循环数组进行处理
  //   1，每次循环选中属性，修改参数
  //   2，给当前的索引的项添加激活效果
  // 点击事件触发的时候需要触发父组件中的自定义事件，同时传递数据给都组件，也就是要修改父组件中的值
  const {index} = e.currentTarget.dataset;

  // 向父组件传递数据,这是一个通用的函数，一般需要子向父传递数据的时候是必须的
  this.triggerEvent("itemChange",{index});
  //3
  let {tabs} = this.data;
  //4
  tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
  // setdate函数相当于在组件的date中加入了tabs的数据
  this.setData({
    tabs
  })
}
  }
})
